JSTL (JavaServer Pages Standard Tag Library) হলো Java EE-এর একটি স্ট্যান্ডার্ড ট্যাগ লাইব্রেরি, যা JSP পেজে প্রয়োজনীয় কার্যকারিতা সরল এবং কার্যকর উপায়ে সরবরাহ করে। এটি HTML ও Java কোডের মধ্যে মিশ্রণ এড়াতে সাহায্য করে এবং JSP পেজে জাভার লজিক লেখাকে সহজ করে।
JSTL-এর ভূমিকা
JSTL ব্যবহার করে JSP পেজে লজিক্যাল কাজগুলি (যেমন, শর্তাধীন স্টেটমেন্ট, লুপ, ডেটা ফরম্যাটিং, ডাটাবেস অপারেশন) সম্পন্ন করা যায়, যা কোড রিডেবিলিটি বাড়ায় এবং জাভা কোড JSP পেজ থেকে আলাদা করতে সাহায্য করে।
JSTL-এর সুবিধা
- কোড সহজ করা: জাভা কোড এবং HTML-এর মধ্যে মিশ্রণ কমায়।
- রিডেবিলিটি বাড়ায়: JSP পেজটি বেশি পরিষ্কার এবং বোধগম্য হয়।
- পুনঃব্যবহারযোগ্য ট্যাগ: JSTL-এর বিভিন্ন ট্যাগ সহজে পুনরায় ব্যবহার করা যায়।
- ডেভেলপমেন্ট সময় কমায়: সরল ট্যাগ ব্যবহার করে সাধারণ কাজ দ্রুত সম্পন্ন করা যায়।
JSTL ট্যাগ লাইব্রেরিগুলোর শ্রেণীবিভাগ
JSTL বিভিন্ন ট্যাগ গ্রুপে বিভক্ত, যা নির্দিষ্ট কাজের জন্য ডিজাইন করা হয়েছে। নিচে গুরুত্বপূর্ণ ট্যাগ লাইব্রেরিগুলোর বিবরণ দেওয়া হলো:
1. Core Tags
সাধারণ কাজের জন্য ব্যবহৃত হয়। এর URI:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:out>: ডাটা প্রদর্শনের জন্য।<c:if>: শর্তাধীন বিবৃতি।<c:choose>, <c:when>, <c:otherwise>: মাল্টি-শর্ত পরীক্ষা।<c:forEach>: লুপ চালানোর জন্য।<c:forTokens>: টোকেনের উপর ভিত্তি করে লুপ।<c:set>: ভেরিয়েবল সেট করার জন্য।<c:remove>: ভেরিয়েবল মুছে ফেলার জন্য।
2. Formatting Tags
ডেটা ফরম্যাটিং (যেমন, সংখ্যা, তারিখ) করতে ব্যবহৃত হয়। এর URI:
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<fmt:formatNumber>: সংখ্যা ফরম্যাট করা।<fmt:formatDate>: তারিখ ফরম্যাট করা।<fmt:message>: লোকালাইজড বার্তা প্রদর্শন।
3. SQL Tags
ডাটাবেস অপারেশনের জন্য ব্যবহৃত হয়। এর URI:
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<sql:query>: ডাটাবেস থেকে ডেটা রিটার্ন করে।<sql:update>: ডাটাবেস আপডেট করে।<sql:param>: SQL কুয়েরি-তে প্যারামিটার যোগ করে।
4. XML Tags
XML ডকুমেন্ট প্রসেস করতে ব্যবহৃত হয়। এর URI:
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
<x:parse>: XML ডকুমেন্ট পার্স করে।<x:out>: XML ডেটা প্রদর্শন করে।
5. Function Tags
স্ট্রিং অপারেশন বা অন্যান্য কার্যকারিতা সম্পন্ন করতে ব্যবহৃত হয়। এর URI:
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
fn:length: স্ট্রিং বা কালেকশনের দৈর্ঘ্য।fn:contains: স্ট্রিং-এ নির্দিষ্ট টেক্সট আছে কি না।fn:toUpperCase: স্ট্রিং বড় হাতের অক্ষরে রূপান্তর।
JSTL-এর ব্যবহার উদাহরণ
1. Core Tags Example
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<body>
<c:set var="name" value="John Doe"/>
<c:if test="${name eq 'John Doe'}">
<p>Welcome, ${name}!</p>
</c:if>
</body>
</html>
2. Formatting Tags Example
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<html>
<body>
<fmt:formatDate value="${date}" type="date" dateStyle="short"/>
</body>
</html>
3. SQL Tags Example
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<sql:query var="result" dataSource="jdbc/myDatasource">
SELECT * FROM users;
</sql:query>
<c:forEach var="row" items="${result.rows}">
<p>${row.name}</p>
</c:forEach>
JSTL-এর ভূমিকা সংক্ষেপে
- HTML এবং জাভা কোডকে আলাদা রাখে।
- JSP পেজের কার্যকারিতা উন্নত করে।
- বিভিন্ন কাজের জন্য পূর্বনির্ধারিত ট্যাগ সরবরাহ করে।
- কোড পুনঃব্যবহার এবং রক্ষণাবেক্ষণ সহজ করে।
JSTL ব্যবহার করলে একটি JSP পেজ ক্লিন, রিডেবল এবং কার্যকর হয়, যা ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টে অত্যন্ত সহায়ক।